package com.dupt.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.dupt.common.annotation.Excel;
import com.dupt.common.core.domain.BaseEntity;

/**
 * 组装用料对象 dupt_assemble_material
 *
 * @author zhuanyu.sun
 * @date 2025-07-25
 */
public class AssembleMaterial extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 组装用料ID */
    private Long assembleMaterialId;

    /** 组装计划id */
    @Excel(name = "组装计划id")
    private String assemblePlanId;

    /** 物料id */
    @Excel(name = "物料id")
    private Long materialCollectId;

    /** 数量 */
    @Excel(name = "数量")
    private Long amount;


    /** 领料状态（1：未领料，2：领料） */
    @Excel(name = "领料状态", readConverterExp = "1=：未领料，2：领料")
    private String requisitionStatus;

    /** 领料人 */
    @Excel(name = "领料人")
    private String pickBy;

    /** 领料时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "领料时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date pickTime;

    /** 领料数量 */
    @Excel(name = "领料数量")
    private Long pickAmount;

    /** 退料数量 */
    @Excel(name = "退料数量")
    private Long returnAmount;

    /** 退料人 */
    @Excel(name = "退料人")
    private String returnBy;

    /** 退料时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "退料时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date returnTime;

    public void setAssembleMaterialId(Long assembleMaterialId)
    {
        this.assembleMaterialId = assembleMaterialId;
    }

    public Long getAssembleMaterialId()
    {
        return assembleMaterialId;
    }

    public void setAssemblePlanId(String assemblePlanId)
    {
        this.assemblePlanId = assemblePlanId;
    }

    public String getAssemblePlanId()
    {
        return assemblePlanId;
    }

    public void setMaterialCollectId(Long materialCollectId)
    {
        this.materialCollectId = materialCollectId;
    }

    public Long getMaterialCollectId()
    {
        return materialCollectId;
    }

    public void setAmount(Long amount)
    {
        this.amount = amount;
    }

    public Long getAmount()
    {
        return amount;
    }


    public void setRequisitionStatus(String requisitionStatus)
    {
        this.requisitionStatus = requisitionStatus;
    }

    public String getRequisitionStatus()
    {
        return requisitionStatus;
    }

    public void setPickBy(String pickBy)
    {
        this.pickBy = pickBy;
    }

    public String getPickBy()
    {
        return pickBy;
    }

    public void setPickTime(Date pickTime)
    {
        this.pickTime = pickTime;
    }

    public Date getPickTime()
    {
        return pickTime;
    }

    public void setPickAmount(Long pickAmount)
    {
        this.pickAmount = pickAmount;
    }

    public Long getPickAmount()
    {
        return pickAmount;
    }

    public void setReturnAmount(Long returnAmount)
    {
        this.returnAmount = returnAmount;
    }

    public Long getReturnAmount()
    {
        return returnAmount;
    }

    public void setReturnBy(String returnBy)
    {
        this.returnBy = returnBy;
    }

    public String getReturnBy()
    {
        return returnBy;
    }

    public void setReturnTime(Date returnTime)
    {
        this.returnTime = returnTime;
    }

    public Date getReturnTime()
    {
        return returnTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("assembleMaterialId", getAssembleMaterialId())
                .append("assemblePlanId", getAssemblePlanId())
                .append("materialCollectId", getMaterialCollectId())
                .append("amount", getAmount())
                .append("requisitionStatus", getRequisitionStatus())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .append("pickBy", getPickBy())
                .append("pickTime", getPickTime())
                .append("pickAmount", getPickAmount())
                .append("returnAmount", getReturnAmount())
                .append("returnBy", getReturnBy())
                .append("returnTime", getReturnTime())
                .toString();
    }
}
